Systems for representing information as rendered three-dimensional (3D) images are known. For example, the assignee of the present invention sells a product referred to as "Market Discovery" which can represent information such as financial information relating to stock or bond prices and trading activities as a 3D data landscape. Within this data landscape, various rendered 2D or 3D objects (such as blocks, surfaces, etc.) can represent different stocks, bonds or other items of interest and the condition (size, color, position, etc.) of the rendered object represents the present parameters (price, volume, percent change, etc.) of interest for that object.
Such systems, which are often referred to as information visualization systems, have proved to be well suited to representing large amounts of information and/or complex information in an efficient and relatively compact manner. For example, a variety of information, including pricing, size of bids and offers, etc. for the stocks comprising the Standard & Poors 500 can be displayed on a single computer display. Further, as is known, the displays produced within such information visualization systems can often be more readily understood by users than textual or other conventional representations.
It is typically desired by users of such information visualization systems to view the data landscape from more than a single fixed viewpoint and/or distance. Observing the data landscape from a different viewpoint can allow a user to: observe a subset of the objects within the data landscape which are presently of particular interest to the user; identify trends and/or correlation between various of the objects or sets of objects in the data landscape; etc. Similarly, changing the viewing distance ("zooming") allows a user to: choose to observe a single object in detail over a large part of the computer display's screen (e.g.--zoom in on a single object); observe many or all of the objects within the data landscape on the computer display's screen (e.g.--zoom out to a panoramic view of the data landscape); or to observe some subset of data landscape.
As will be apparent to those of skill in the art, the user viewpoint within the visualization system is merely the viewpoint to which the 3D representation of the data landscape is rendered. Essentially, the viewpoint can be thought of as the location and orientation of a camera which takes the picture of the data landscape which is being displayed on the computer display. Thus, the rendering engine within the visualization system responds to input from the user to change the desired viewpoint accordingly. When a new viewpoint position and/or distance is input by the user, the rendering engine re-renders the data landscape appropriately, as viewed from the new viewpoint.
When real time, or near-real time rendering is provided, the user can interactively update the viewpoint and observe the result substantially immediately, thus simulating the experience of the user moving with respect to the data landscape. Thus, the user can experience "flying" over or "walking" or "running" through the landscape, as desired.
While the sheer amount of information which can be represented within an information visualization system and the ease with which the representations employed within the landscape allow assimilation of the information by a user are some of the advantages offered by such systems, they can also lead to some difficulties and/or problems. For example, while most users of visualization systems want or require the ability to alter the viewpoint of the data landscape, it is not uncommon that a user becomes "lost" in the rendered image as the viewpoint is moved. This is due to several reasons, including the fact that such landscapes are often quite artificial constructions and there are few, if any, of the real world visual clues normally available to a person. Further, the physical clues (sense of balance and inertia to determine the rate and direction of movement, etc.) which are present in the real world are not provided within visualization systems. Thus, it is possible for a user to, for example, move the viewpoint sufficiently far away (zoom out) from the landscape and to direct the viewpoint away from the data landscape so that the landscape is not in view and the user is ignorant of how to locate the data landscape.
Previous attempts have been made to address this problem. For example, the above-mentioned Market Discovery product employed a set of constraints on how a user could orient and/or position the viewpoint. In particular, the viewpoint was constrained such that it was always perpendicular to the ground plane of the landscape such that roll of the viewpoint was not permitted and to move in polar coordinates (i.e.--latitude and longitude) centered at a user definable point of interest. While this navigation method was generally an improvement on prior methods, it was still unsatisfactory to many users and was found to be too limiting for developers constructing some data landscapes.
A subsequent attempt to improve this navigation method was made by changing it to a "helicopter-hemisphere" model wherein the viewpoint was constrained to be positioned on the surface of a hemisphere centered over a user selected point of interest on the landscape. The size of the hemisphere (e.g. the distance from the landscape, or the amount of zoom) could also be changed by the user. Four parameters were employed in this method to define a viewpoint position and orientation, namely: the bearing, which is the angle about the vertical (z) axis of the landscape, as measured clockwise from the -y axis; the tilt, which is the elevation above the horizon or "ground plane" of the landscape; the distance from the camera to the present point of interest; and the point of interest which is a user-defined point on the ground plane. An algorithm was also provided that would determine the path with the shortest distance between any two points on the hemisphere and the viewpoint could be moved along this determined path.
While this attempt was a significant improvement on the earlier described attempt, it still left much to be desired as users found it non-intuitive and unfriendly. Further, both it and the previously described attempt constrained the point of interest to points on the ground plane (x-y plane) of the landscape.
It is therefore desired to have an improved system and/or method of allowing users to alter their viewpoint of the data landscape which is intuitive to use and flexible for the users' needs but which helps prevent users from becoming lost within a rendered data landscape.